home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / util / rexx / LM2xxx.lha / LM_ERG2HTML.rexx < prev    next >
OS/2 REXX Batch file  |  1997-08-10  |  6KB  |  204 lines

  1. /*                                                                          *
  2.    $VER: LM_ERG2xxx.REXX 1.07 (10.08.97) © 1997 Christian T. Steigies
  3.  * Convert LigaManager Ergebnisse output to HTML,LaTeX                      *
  4.  *                                                                          *
  5.  * Usage: RX LM_ERG2HTML <infile>                                           *
  6.  * Usage: RX LM_ERG2LaTeX <infile>                                          *
  7.  *                                                                          */
  8. /*+ "Hauptprogramm" */
  9. /*+ "version, messages" */
  10. ver    = "1.07"
  11. date   = "10.08.97"
  12. date2k = "10.08.1997"
  13. copy   = "© 1997 Christian T. Steigies"
  14. DEBUG  = 0
  15. OUTPUT = 0 /* 1=HTML, 2=LaTeX */
  16.  
  17. ECHO "LigaManager output converter "ver" ("date")" copy
  18. ECHO "Freeware, NO commercial usage ;-)"
  19. ECHO
  20. ECHO "This program comes without ANY WARRANTY, use at your own risk!"
  21. ECHO
  22. /*- */
  23. /*+ "output definition" */
  24. PARSE source cmdline
  25. IF LEFT(UPPER(WORD(cmdline,3)),11)="LM_ERG2HTML" THEN DO
  26.     prg     = "LM_ERG2HTML"
  27.     outfile = "ram:ERG.html"
  28.     a       = "<TR>"
  29.     x       = "<TD>"
  30.     xr      = "<TD ALIGN=""RIGHT"">"
  31.     y       = "</TD>"
  32.     z       = "</TD></TR>"
  33.     T1      = "-"
  34.     T2      = ":"
  35.     blank   = " "
  36.     OUTPUT  = 1
  37.     ECHO "Converting to HTML"
  38. END
  39. ELSE IF LEFT(UPPER(WORD(cmdline,3)),12)="LM_ERG2LATEX" THEN DO
  40.     prg     = "LM_ERG2LaTeX"
  41.     outfile = "ram:ERG.tex"
  42.     a       = ""
  43.     x       = ""
  44.     y       = " & "
  45.     z       = " \\"
  46.     T1      = "-"
  47.     T2      = ":"
  48.     blank   = ""
  49.     OUTPUT  = 2
  50.     ECHO "Converting to LaTeX"
  51. END
  52. ELSE DO
  53.     ECHO "Don't rename this program! Valid Names are:"
  54.     ECHO " LM_ERG2HTML.REXX    for HTML output"
  55.     ECHO " LM_ERG2LaTeX.REXX   for LaTeX output"
  56.     EXIT
  57. END
  58. /*- */
  59. /*+ "error checking" */
  60. IF ARG() ~= 1 THEN CALL usage(prg)
  61. IF EXISTS( ARG(1) ) ~= 1 THEN DO
  62.     ECHO "infile not found!"
  63.     ECHO
  64.     CALL usage(prg)
  65. END
  66.  
  67. OPEN(in,ARG(1),r)
  68. OPEN(out,outfile,w)
  69.  
  70. titel = READLN(in)
  71.  
  72. nonascii = X2C('1B')||X2C('5B')
  73. IF INDEX(titel,nonascii,3) > 0 THEN DO
  74.     ECHO "this is not an ASCII input file!"
  75.     ECHO "I don't know how to handle this (yet...)"
  76.     ECHO "Did you disable ""Steuerzeichen"" in options?"
  77.     ECHO
  78.     CALL usage(prg)
  79. END
  80. /*- */
  81. /*+ "parsing" */
  82. /* ECHO titel */
  83. spieltag = INDEX(titel," Spieltag ")
  84. IF (spieltag==0) THEN DO
  85.     ECHO "infile corrupt!"
  86.     CALL usage(prg)
  87. END
  88. /*- */
  89. /*+ "Output Header" */
  90. SELECT
  91.     WHEN OUTPUT=1 THEN DO
  92. /*+ "HTML" */
  93.         WRITELN(out, "<!DOCTYPE HTMLPUBLIC ""-//IETF//DTD HTML 3.2//EN//"">")
  94.         WRITELN(out, "<!-- created with: LigaManager2HTML "ver" by CTS -->")
  95.         WRITELN(out, "<HTML><HEAD><TITLE>Ergebnisse created with LM2HTML "ver" by CTS</TITLE></HEAD>")
  96.         WRITELN(out, "<BODY>")
  97.         WRITELN(out, "<CENTER>")
  98.         WRITELN(out, "<TABLE BORDER=""1"" CELLPADDING=""5"" CELLSPACING=""0""WIDTH=""90%"">")
  99. /*                WRITELN(out, "<TR><TH ALIGN=""LEFT"" COLSPAN=""7"">"STRIP(titel)"</TH></TR>") */
  100.         WRITELN(out, "<TR><TD ALIGN=""LEFT"" COLSPAN=""7""><B>"STRIP(titel)"</B></TD></TR>")
  101. /*- */
  102.     END
  103.     WHEN OUTPUT=2 THEN DO
  104. /*+ "LaTeX" */
  105.         WRITELN(out, "% created with: LigaManager2LaTeX "ver" by CTS")
  106.         WRITELN(out, "\documentclass{article}")
  107.         WRITELN(out, "\usepackage{german}")
  108.         WRITELN(out, "\usepackage[latin1]{inputenc}")
  109.         WRITELN(out, "\begin{document}")
  110.         WRITELN(out, "\begin{tabular}{llclrcr}")
  111.         WRITELN(out, ""STRIP(titel)"\\")
  112.         WRITELN(out, "\hline")
  113. /*- */
  114.     END
  115.     OTHERWISE EXIT 10 /* should be unreachable, but who knows... */
  116.     END
  117. /*- */
  118. /*+ "main loop" */
  119. zeile1 = READLN(in)
  120. heim   = INDEX(zeile1,"  ")
  121. ausw   = INDEX(zeile1," - ")
  122. len = ausw-heim-2
  123. heim  = heim + 2
  124. ausw  = ausw + 3
  125. datum = STRIP(LEFT(zeile1,heim-3))
  126. IF ( INDEX(datum,"(")==0 & INDEX(datum,".")==0 ) THEN DO
  127.     ECHO "No Datum in infile! This is too boring to convert."
  128.     ECHO "exiting..."
  129.     EXIT
  130. /* this would DO the trick, but remove datum...
  131.     heim = 1
  132.     len  = ausw - heim - 2
  133. */
  134. END
  135. team1 = STRIP(SUBSTR(zeile1,heim,len))
  136. team2 = STRIP(SUBSTR(zeile1,ausw,len))
  137. res   = SUBSTR(zeile1,ausw+len)
  138. trenn = INDEX(res,":")
  139. res1  = STRIP(LEFT(res,trenn-1))
  140. IF res1 == "" THEN res1 = blank
  141. res2  = STRIP(SUBSTR(res,trenn+1))
  142. IF res2 == "" THEN res2 = blank
  143. IF DEBUG = 1 THEN DO
  144.     ECHO a||x||datum||y||x||team1||y||x||T1||y||x||team2||y
  145.     ECHO x||res1||y||x||T2||y||x||res2||z
  146. END
  147. WRITELN(out, a||x||datum||y||x||team1||y||x||T1||y||x||team2||y)
  148. WRITELN(out, x||res1||y||x||T2||y||x||res2||z)
  149. DO WHILE ~ (EOF(in) & zeile=="")
  150.     zeile = READLN(in)
  151.     IF zeile == "" THEN BREAK
  152.     datum = STRIP(LEFT(zeile,heim-3))
  153.     IF datum == "" THEN datum =blank
  154.     team1 = STRIP(SUBSTR(zeile,heim,len))
  155.     team2 = STRIP(SUBSTR(zeile,ausw,len))
  156.     res   = SUBSTR(zeile,ausw+len)
  157.     trenn = INDEX(res,":")
  158.     res1  = STRIP(LEFT(res,trenn-1))
  159.     IF res1 == "" THEN res1 = blank
  160.     res2  = STRIP(SUBSTR(res,trenn+1))
  161.     IF res2 == "" THEN res2 = blank
  162.     IF DEBUG = 1 THEN DO
  163.         ECHO a||x||datum||y||x||team1||y||x||T1||y||x||team2||y
  164.         ECHO x||res1||y||x||T2||y||x||res2||z
  165.     END
  166.     WRITELN(out, a||x||datum||y||x||team1||y||x||T1||y||x||team2||y)
  167.     WRITELN(out, x||res1||y||x||T2||y||x||res2||z)
  168. END
  169. /*- */
  170. /*+ "Output Footer" */
  171. SELECT
  172.     WHEN OUTPUT=1 THEN DO
  173. /*+ "HTML" */
  174.         WRITELN(out, "</TABLE>")
  175.         WRITELN(out, "</CENTER>")
  176.         WRITELN(out, "</BODY>")
  177.         WRITELN(out, "</HTML>")
  178. /*- */
  179.     END
  180.     WHEN OUTPUT=2 THEN DO
  181. /*+ "LaTeX" */
  182.         WRITELN(out, "\end{tabular}")
  183.         WRITELN(out, "\end{document}")
  184. /*- */
  185.     END
  186.     OTHERWISE EXIT 10 /* should be unreachable, but who knows... */
  187.     END
  188. /*- */
  189. CLOSE(out)
  190. CLOSE(in)
  191. ECHO "Ready."
  192. EXIT
  193. /*- */
  194. /*+ "Unterroutinen"*/
  195. usage:
  196. ARG prg
  197.     SAY "Usage: RX" prg "<infile>"
  198.     ECHO
  199.     ECHO "Ready."
  200.     EXIT
  201.  
  202. /*- */
  203.  
  204.